package com.hyt.it.ogt.ykcj.domain.exchange;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * description 考生信息内容
 *
 * @author yaojian
 * @createTime 2021/12/03
 */
@Data
@ToString
@ApiModel(value = "考生信息内容", description = "考生信息内容")
public class ExchangeCandidate {

    /**
     * 任务id
     */
    private String taskId;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 考试分类，多个是逗号分割
     */
    private String testClassify;
    /**
     * 考试id
     */
    @ApiModelProperty(value = "考试id")
    private String examId;
    /**
     * 考试code
     */
    @ApiModelProperty(value = "考试code")
    private String examCode;
    /**
     * 机构id
     */
    @ApiModelProperty(value = "机构id")
    private String officeId;
    /**
     * 准考证号
     */
    private String admissionNo;
    /**
     * 考生id
     */
    @ApiModelProperty(value = "考生id")
    private String candidateId;
    /**
     * 配置列表
     */
    @ApiModelProperty(value = "配置列表")
    private List<ExchangeCandidateConfig> candidateConfig;
    /**
     * 配置信息列表
     */
    @ApiModelProperty(value = "配置内容列表")
    private List<ExchangeCandidateInfo> candidateInfo;

    /**
     * 复合分数线
     */
    private BigDecimal scoreLine;

    /**
     * 科目分数
     */
    private BigDecimal subjectTotleScore;
    /**
     * 考生科目成绩列表
     */
    @ApiModelProperty(value = "考生科目成绩列表")
    private List<ExchangeSubjectInfo> subjectInfo;
    /**
     * 任务开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskBeginDate;
    /**
     * 任务结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskEndDate;
    /**
     * 用时（毫秒）
     */
    private Long useTime;
    /**
     * 开始考试时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginTime;
    /**
     * 是否保存最高分(不一定会传)
     */
    private Boolean keepHighestScore;
    /**
     * 省份编码
     */
    private String provinceCode;
    /**
     * 市编码
     */
    private String cityCode;
    /**
     * 县编码
     */
    private String countryCode;

    private String currExamId;

    @ApiModelProperty(value = "考点Id")
    private String placeId;

    @ApiModelProperty(value = "考点名称")
    private String placeName;

    @ApiModelProperty(value = "该批次人数")
    private Integer timeCandidateCounts;

    @ApiModelProperty(value = "考试科目Id")
    private String examSubjectId;

    @ApiModelProperty(value = "考试科目名称")
    private String examSubjectName;

    @ApiModelProperty(value = "考生的归属部门id")
    private String deptId;
    
    @ApiModelProperty(value = "考试的归属部门id")
    private String examDeptId;
}
